package com.hzw.saas.api.product;

import java.util.List;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.hzw.saas.api.product.dto.ProductDetailsDto;
import com.hzw.saas.api.product.dto.ProductDto;
import com.hzw.saas.common.config.util.PageParam;

/**
 * <p>
 * 商品 服务类
 * </p>
 *
 * @author sonam
 * @since 2021-01-19
 */
public interface IProductService {

    String getProductName(String productId);

    /**
     * @param cloudType
     * @param subType
     * @return
     */
    IPage<ProductDto> searchByCouldTypeAndSubTypePage(PageParam pageParam, Integer cloudType, Integer subType);

    /**
     * 组合分页查询产品列表
     *
     * @param pageParam  分页信息
     * @param cloudTypes 1-软件云，2-工具云，3-算力云，4-数据云，为空查询所有
     * @return
     */
    IPage<ProductDto> getProductsByCloudTypes(PageParam pageParam, Integer... cloudTypes);

    ProductDto getProductById(String productId);

    List<ProductDto> listProducts(List<String> productIds);

    /**
     * 查询产品详情
     *
     * @param productId
     * @return
     */
    ProductDetailsDto getProductDetailById(String productId);

}
